package com.bonc.sdk.gofakeit.v1;

import com.bonc.sdk.core.ClientBuilder;
import com.bonc.sdk.core.HcClient;
import com.bonc.sdk.core.invoker.SyncInvoker;
import com.bonc.sdk.gofakeit.v1.model.*;

public class FakeItClient {

    protected HcClient hcClient;

    public FakeItClient(HcClient hcClient) {
        this.hcClient = hcClient;
    }

    public static ClientBuilder<FakeItClient> newBuilder() {
        ClientBuilder<FakeItClient> clientBuilder = new ClientBuilder<>(FakeItClient::new);
        return clientBuilder;
    }


    /**
     * 查询应用模板详情
     *
     * 查询应用模板详情。
     * 
     * Please refer to HUAWEI cloud API Explorer for details.
     *
     * @param request 请求对象
     * @return ShowAppDetailResponse
     */
    public ShowCarResponse showCar(ShowCarRequest request) {
        return hcClient.syncInvokeHttp(request, FakeItMeta.showAppDetail);
    }

    /**
     * 查询应用模板详情
     *
     * 查询应用模板详情。
     * 
     * Please refer to HUAWEI cloud API Explorer for details.
     *
     * @param request 请求对象
     * @return SyncInvoker<ShowAppDetailRequest, ShowAppDetailResponse>
     */
    public SyncInvoker<ShowCarRequest, ShowCarResponse> showCarInvoker(ShowCarRequest request) {
        return new SyncInvoker<ShowCarRequest, ShowCarResponse>(request, FakeItMeta.showAppDetail, hcClient);
    }

}
